{
  "name": "CI",
  "on": {
    "push": {
      "branches": [
        "master"
      ]
    },
    "pull_request": null,
    "schedule": [
      {
        "cron": "0 10 * * 1"
      }
    ]
  },
  "jobs": {
    "run-tests": {
      "runs-on": "ubuntu-latest",
      "env": {
        "OS": "ubuntu-latest",
        "QUICKLISP_DIST": "quicklisp",
        "LISP": "sbcl-bin"
      },
      "steps": [
        {
          "name": "Checkout Code",
          "uses": "actions/checkout@v3"
        },
        {
          "name": "Grant All Perms to Make Cache Restoring Possible",
          "run": "sudo mkdir -p /usr/local/etc/roswell\n                 sudo chown \"${USER}\" /usr/local/etc/roswell\n                 # Here the ros binary will be restored:\n                 sudo chown \"${USER}\" /usr/local/bin",
          "shell": "bash"
        },
        {
          "name": "Get Current Month",
          "id": "current-month",
          "run": "echo \"value=$(date -u \"+%Y-%m\")\" >> $GITHUB_OUTPUT",
          "shell": "bash"
        },
        {
          "name": "Cache Roswell Setup",
          "id": "cache",
          "uses": "actions/cache@v3",
          "with": {
            "path": "qlfile\nqlfile.lock\n~/.cache/common-lisp/\n~/.roswell\n/usr/local/etc/roswell\n/usr/local/bin/ros\n/usr/local/Cellar/roswell\n.qlot",
            "key": "a-${{ steps.current-month.outputs.value }}-${{ env.cache-name }}-ubuntu-latest-quicklisp-sbcl-bin-${{ hashFiles('qlfile.lock', '*.asd') }}"
          }
        },
        {
          "name": "Restore Path To Cached Files",
          "run": "echo $HOME/.roswell/bin >> $GITHUB_PATH\n                 echo .qlot/bin >> $GITHUB_PATH",
          "shell": "bash",
          "if": "steps.cache.outputs.cache-hit == 'true'"
        },
        {
          "name": "Setup Common Lisp Environment",
          "uses": "40ants/setup-lisp@v2",
          "with": {
            "asdf-system": "reblocks"
          },
          "if": "steps.cache.outputs.cache-hit != 'true'"
        },
        {
          "name": "Run Tests",
          "uses": "40ants/run-tests@v2",
          "with": {
            "asdf-system": "reblocks",
            "coveralls-token": "${{ secrets.github_token }}"
          }
        }
      ]
    }
  }
}